There are instances where an organism, even unicellular, shows a specific reaction to a certain stimulus when stimulated from the outside world. The organism outputs information to show a predetermined reaction, according to input information from the outside world and an internal state. This suggests that there is a mechanism of information processing incorporated permanently in a living organism beforehand. Such information processing is referred to as first information processing in this Description.
It is also clear that there is a mechanism of adjusting output information corresponding to input information from the outside world to find optimal output information, and storing the adjusted information. Such information processing is referred to as second information processing in this Description. This is widely known as one function of a neural network.
A human performs more sophisticated information processing using words written in letters. Such information processing is referred to as third information processing in this Description.
Many of current researches on artificial intelligence deal with the third information processing. However, a system that imitates information processing performed by humans everyday cannot be established in this method. Since words written in letters are used, information can be described precisely and the precisely described information can be subjected to logic operations. Such preciseness, however, hampers development of a method of accumulating information as knowledge and a method of effectively using information recorded as knowledge.
An entity can be represented by a word. In a language such as English or Japanese, an entity can be represented by a term, i.e. a word. An entity has at least one attribute which is a predetermined property. This attribute is represented by a word, too. A word can be expressed by a letter string which is a group of letters. Hence, a word representing an entity has an attribute, where the entity and its attribute can be represented by a letter string, i.e. a word. The use of letters enables information to be held and recorded for a long time. It is also possible to express a word by using, as a language, a means other than letters, such as sounds or gestures. A characteristic feature lies in that a word itself represents a meaning of the word.
Entities include not only concrete entities such as stones and the sun, but also abstract entities such as warmth, concepts, images, sounds, and web pages. An unknown entity may not have an attribute. An attribute represents a property of an entity, such as “red-colored” or “sweet-tasting”.
A machine such as a computer can be used to compare two letter strings to determine whether or not the two letter strings are the same, and generate a true value in the case where the two letter strings are the same and a false value in the case where the two letter strings are different. That is, the computer is capable of determining whether or not words expressed in letters are the same, and generating a true-false value.
Thus, it is possible to compare two words, and generate a true value in the case where the two words are the same and a false value in the case where the two words are different. This method enables determination of whether or not entities or attributes are the same or different. The same can be done using a symbol associated with a word. A symbol associated with a word represents a meaning of the corresponding word. The symbol in this case represents the meaning. When translating “symbol” into “identifier”, the following can be stated. An identifier associated with and representing a word represents a meaning of the corresponding word. Therefore, an identifier associated with a word and representing a meaning of the word is also a word. Suppose a word “dog” and an identifier “ABC” are associated with each other. Then, the identifier “ABC” is a word that represents a meaning “dog”.
A word can be generated not only from a combination of letters but also from a combination of sounds or figures. A word generated from a combination of sounds or figures can substitute for a word generated from letters. Accordingly, which means is used to generate a word is not an essential matter, except for ease of recording.
A relay-based calculator has been used in early days. The relay-based calculator realizes a mechanism of performing three operations that are AND, OR, and NOT, by use of relays. A current computer follows the same principle as the relay-based calculator, though its components are semiconductor devices instead of relays.
The current computer holds a logic operation procedure not as a combination of machine components but as information called a program. Changing the information called the program allows a different logic operation procedure to be performed in the same apparatus.
A program directly executable by a computer is a combination of two values “0” and “1”. It is a hard work for humans to produce such a program. This leads to development of a method for translating a program made up of a combination of alphanumeric characters that humans can understand, to a program made up of a combination of “0” and “1” that can be directly handled by a computer. A program is used to cause the computer to perform such translation. For example, COBOL is a language of a program that humans can understand. A language such as COBOL is called a programming language. Meanwhile, a language of a program that can be directly handled by a computer which is a machine is called a machine language. A program named a compiler translates a program written in a programming language to a program written in a machine language.
An entity typically has several attributes. One word representing an entity has zero or more attributes.
There is a programming language named PROLOG. To represent an attribute, this conventional technique employs a word representing the attribute. The use of such a programming language to realize artificial intelligence, though experimented, has its limits.
“Socrates is a person” is written as (man Socrates) in the programming language PROLOG. Thus, two words “man” and “Socrates” are arranged to represent a property of an entity, i.e. an attribute of the entity. The entity and the attribute which is the property are held in a computer as words. A criterion for determining whether or not “man” is “man” is whether or not the words are the same. A word itself represents a meaning. A word is interpreted as an entity, an attribute, or a relationship, depending on its position in word order.
“Ieyasu is Nobuyasu's father” is written as (Father Ieyasu Nobuyasu) in PROLOG. This represents a relationship between two entities. That is, three words are arranged to represent a relationship between two entities. The first word represents the relationship, and the second and third words represent the entities. In this example, the second word represents “father”, and the third word represents “child”. Changing the order of the second and third words as (Father Nobuyasu Ieyasu) yields a different meaning “Nobuyasu is Ieyasu's father”. The second and third entities can differ in meaning depending on the relationship.
The relationship and the two entities are held in the computer as a sequence of three words. Different order of the words has a different meaning. That is, the order of the words contains a meaning. The number of words and the word order are used to represent a meaning. According to this method, a two-level relationship, i.e. a relationship between two entities, can be represented, but a relationship of three or more levels, such as child→father→grandfather, cannot be directly represented.
Suppose there are two word sequences (Father A B) and (Father B C). B is a common word to the two word sequences. This leads to the understanding that A is the father of C's father, i.e. A is C's grandfather. Though there is no direct description of the relationship between A and C, it is possible to know the indirectly-represented relationship between the entities through the common word.
This technique allows entities, attributes, and relationships to be held as a database, but merely word sequences representing entities, attributes, and relationships are held here. An attribute which is a property of an entity is represented by a word sequence, and also a relationship is represented by a word sequence. Both an attribute and a relationship are represented by the same method of using a word sequence. Provided that knowledge is systematized information, a plurality of word sequences in each of which words representing information are arranged are held as knowledge. Information directly representing a relationship of three or more levels between entities is not held according to this method. One word is compared with another word to find a matching word, thereby relating word sequences to each other. In each search for a matching word, relatedness between information expressed in word sequences is checked.
The Specification of Japanese Patent Application No. 2006-514606 (PTL 1) discloses the following technique. An apparatus disclosed in PTL 1 evaluates information of nodes within a space which is a collection of nodes, where each node denotes information such as a document file or a web page that is stored in a web server on the Internet and can be viewed by software called a browser running on a personal computer and the like. Information connected to a node is referred to as a property. Implementation of a property (attribute) is not defined at all, and completely left to a program implementer. PTL 1 does not disclose that an entity has an attribute, and also does not disclose an attribute evaluation method.
There is a knowledge base constructed by connecting words in a language such as English or Japanese. In the conventional knowledge base, words in the language are directly connected to each other. Thus, the conventional knowledge base is included within the language.
In one field of artificial intelligence, inference is performed using a Bayesian network which is a probability model having a graph structure. Based on an assumption that, when one event occurs, another event occurs with a certain probability, a chain in which one event causes another event is represented by a graph structure. A probability that one event causes another event is held without exception. By starting from one event and following a graph held beforehand, an event having a highest occurrence probability can be found. Such processing achieves inference. In this method, entities, attributes, and relationships are not distinguished from each other, and are all represented as events. An event is represented by a word in a language, and events are directly connected to each other. The Bayesian network is included within the language.